{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "6e7869d6",
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "06efc6b0",
   "metadata": {},
   "outputs": [],
   "source": [
    "rep = 10**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "65249758",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0,\n",
       "       1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,\n",
       "       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0,\n",
       "       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0])"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X0 = X(.3,rep); X0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "3cd7700d",
   "metadata": {},
   "outputs": [],
   "source": [
    "def X(p,num):\n",
    "    return stats.bernoulli.rvs(size=num,p=p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "5e21d937",
   "metadata": {},
   "outputs": [],
   "source": [
    "def N(t,X):\n",
    "    return np.sum(X[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "8c903d66",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 1, 0, 1, 0])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "0c8dfe22",
   "metadata": {},
   "outputs": [],
   "source": [
    "def T(k,X):\n",
    "    if k==0:\n",
    "        return -1\n",
    "    s = 0\n",
    "    for t in range(rep):\n",
    "        if X[t]==1:\n",
    "            s += 1\n",
    "        if s==k:\n",
    "            return t\n",
    "    return None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "cda74e8b",
   "metadata": {},
   "outputs": [],
   "source": [
    "def L(k,X):\n",
    "    assert(k>=1)\n",
    "    return T(k,X) - T(k-1,X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "a4a0c7c0",
   "metadata": {},
   "outputs": [],
   "source": [
    "Lvals = [L(3,X(.3,rep)) for _ in range(10**3)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "64cc5d55",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 300.0)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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/Ke+/fZbpaSkaNKkSZJU6nj5+PjYLV8KdVdqL+++O6C6IFgBt8DgwYP1yy+/aN68eRoyZEi5fRs3bqyYmBi9/fbbOn78uL744gsNHz5cTk5O17wtJycnvf/++9qzZ4927dqloUOH2mZ/6tWrJ0n65JNPypyF+f777+3G+/2Nz5cbM2aMtm/frp07d2rOnDlq0qSJoqKiyq0vICBAzZo107p16674hOH27dt1+vRpu7Fat26t2rVra/369UpOTlaXLl1ksVjUpUsXW+3Hjh0rM1g5Wq9evfT1118rOztbmzZtUlBQkAYOHFjmDeiXuxQI09PTS607deqUatWqpTp16qhOnTqyWCy20Hy5jIyMMscu69916dKlcnFx0apVq9SvXz+1bdtWERER17KLAP4PwQq4Be644w795S9/Uc+ePRUbG3vV/mPHjtUPP/yg2NhYOTk56dlnn73mbQUGBqp79+766KOP9Pbbb6tWrVp22+zWrZucnZ11+PDhMmdhrueDtE+fPmrQoIHGjx+v9evXa8SIEeUGsUsmTZqkrKwsTZgwodS6/Px8jRkzRu7u7vrzn/9sa3dxcVGHDh2UnJysDRs22EJX+/bt5ezsrL/+9a+2oFVZWa1WdezYUdOnT5ck21OYVqtVUukZobvvvlt33HGHlixZYvdUXn5+vj799FPbk4IeHh6KiIjQypUrVVhYaOuXl5d3XU8/WiwWOTs724X48+fPa/Hixde/s0AN5ezoAoCaYtq0adfcNyoqSvfee682btyop556Sr6+vte1rbi4OH355Zd677331K1bN7tLag0bNtTLL7+sSZMm6eeff1b37t1Vp04dnT59Wv/617/k4eGhyZMnX9N2nJycNHLkSD3//PPy8PDQ4MGDr+l9TzzxhHbu3KnXX39dR44c0dChQ+Xn56cDBw5o1qxZOnz4sJYsWaI777zT7n1dunTR+PHjJck2M+Xm5qa2bdtq3bp1atGixXUfq5vt73//u06cOKEuXbooKChIv/76q9566y25uLioY8eOkn777is3Nzd9+OGHatq0qWrXrq3AwEAFBgZqxowZevLJJ9WjRw8NGzZMBQUFmjlzpn799Ve7c+rll1/WI488om7dumns2LEqLi7WzJkzVbt2bZ09e/aaan3kkUeUmJiogQMH6o9//KPOnDmj119/3Rb8AFwdM1ZAJdWv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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# An \"interface\" to matplotlib.axes.Axes.hist() method\n",
    "n, bins, patches = plt.hist(x=Lvals, bins=50, color='#0504aa',\n",
    "                            alpha=0.7, rwidth=0.85)\n",
    "plt.grid(axis='y', alpha=0.75)\n",
    "plt.xlabel('Value')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title('My Very Own Histogram')\n",
    "plt.text(23, 45, r'$\\mu=15, b=3$')\n",
    "maxfreq = n.max()\n",
    "# Set a clean upper y-axis limit.\n",
    "plt.ylim(ymax=np.ceil(maxfreq / 10) * 10 if maxfreq % 10 else maxfreq + 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a653fe36",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d11bce3",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ab5f082f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "02c38638",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
